Interpreting the query result

The results of your queries to the Symbol Table are data structures. The values of the elements of the data structures depend on the nature of the query made to the Symbol Table.
A general description of the elements is given followed by a description of the elements of the data structures after each type of query to the Symbol Table.
General description of the data structure elements
General description of the elements of si_Item

struct si_Item*next
used in si_Collection
do not modify
- struct
si_Item*prev
used in si_Collection
do not modify
si_uchar*name
name of the item (string)
si_Type type
type of the item (one of si_Type's )
si_Resolve take
see the description of si_Resolve below
si_ulong _hash
do not modify
General description of the elements of si_Resolve

si_Ingredients*_incl
dynamically points to si_Ingredients if _hash == 0
si_bool _hash
if _hash == 1, _incl is null
if _hash == 0, si_Item is hashed. To get the value of the expanded pointer, call
getHashed( si_Item* )
General description of the elements of si_Ingredients

si_Collection*subItems
list sub items of this item
si_Collection*subClass
list of sub classes for eTClass
si_Collection*superClass
list of super classes for eTClass
struct si_Item*from
in special cases a hashed item where this item comes from (e.g., nested class)
si_Scope scope
scope of the item ( one of si_Scope )
si_ulongsPos
absolute start position in file
si_ulongePos
absolute end position in file
si_uchar* typeStr
type string as used in SNiFF+ ( formatted string )
si_uchar* declStr
full string as appears in declaration (formatted string )
si_Flagflags
flags of this item
use the is...( item ) functions (e.g., isOverloaded( si_Item* ) ) to evaluate the flags
si_ulong__magic__cooky__
do not modify
Description of the data structure elements when si_Item is eTFile
Description of selected elements of si_Item

struct si_Item*next
empty
struct si_Item*prev
empty
si_uchar*name
name of file
si_Typetype
eTFile
Description of selected elements of si_Ingredients

si_Collection *subItems
all items in this file
si_uchar*typeStr
language string of file (e.g., Ansi C/C++ )
si_uchar*declStr
absolute path of file
Description of the data structure elements when si_Item is eTClass
Description of selected elements of si_Item

si_uchar* name
name of the class
si_Typetype
eTClass
Description of selected elements of si_Ingredients

si_Collection*subItems
list of all items of eTClass
si_Collection*subClass
list of sub classes of eTClass
si_Collection*superClass
list of all super classes whose node is preceded by a node of type etScope, which has the following structure:
Description of selected elements of si_Item

si_uchar* name
visibility of the inheritance (e.g., public, protected, etc.)

si_Type type
eTScope
Description of selected elements of si_Ingredients

si_uchar* typeStr
scope string (e.g., in class B: public A::nested , " A " is the scope string)

si_uchar* declStr
template argument list string (e.g., in class b: public A<X,Y,Z> , " X,Y,Z " is the argument list string)

si_Flag flags

| Note
| If inheritance is virtual, the corresponding flag (isVirtual( si_Item* )) is set

struct si_Item *from
if scope is eSFile, *from is a null pointer.
if scope is eSClass, the class is nested, and *from is a hashed item to the class in which eSClass is nested
si_Scope scope
eSFile or eSClass, see above
Description of the data structure elements when si_Item is a version configuration
Description of selected elements of si_Item:

si_uchar* name
version of queried file
si_Type type
eTHead, eTSymbolicName, eTBranch
Description of selected elements of si_Ingredients

si_uchar* declStr
symbolic version string
Description of the data structure elements when si_Item is eTMethodD, eTMethodI, or eTProc
Description of selected elements of si_Item:

si_uchar* name
name
si_Type type
eTMethodD, eTMethodI, or eTProc
Description of selected elements of si_Ingredients
There is a special node in this collection:
Description of selected elements of si_Item

si_uchar* name
"()"
si_Type type
eTParam
Description of selected elements of si_Ingredients

si_ulongsPos
starting position
si_ulongePos
ending position
In the following example:
func| (arguments) |
the pipes ( | ) indicate the starting and ending positions
- si_Item* from
  In case the item is a
eTMethodI, the from field is a pointer to the symbol eTMethodD in SNiFF+. To get the full representation of eTMethodD , call the following query:
si_Query(eQFindSym, eSGlobal, from);
Description of the data structure elements when si_Item is eTParam
Description of selected elements of si_Item:

- si_uchar* name
name
- si_Type type
eTParam

Description of selected elements of si_Ingredients
There is a special item "( )" representing the start and end position of the argument brackets where the start and end position is stored in the sPos and ePos of the structure si_ingredients.
Description of selected elements of si_Ingredients

si_uchar* typeStr
full string as stored in SNiFF+
si_uchar* declStr
internal representation of the format character string used by SNiFF+
si_Flag eFConst
for constant parameters
si_Flag eFTemplate
for template parameters
si_Flag eFDefault
for parameters that have a default value

For a description of the data structure elements of all other values of

si_Item , please refer to General description of the data structure elements.